<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>图书购物车</title>
    <style>
        [v-cloak]{
            display: none;
        }
        table{
            border:1px solid #e9e9e9;
            border-spacing: 0;
            border-collapse: collapse;
            width: 90vw;
        }
        th,td{
            padding: 8px 16px;
            border: 1px solid #e9e9e9;
            text-align: left;
        }
        th{
            background-color: #f7f7f7;
            color: #5c6b77;
            font-weight: 600;
        }
    </style>
</head>
<body>
    <div id="app" v-cloak>

        <table v-if="books.length>0">
            <thead>
                <tr>
                    <th></th>
                    <th>书籍名称</th>
                    <th>出版日期</th>
                    <th>价格</th>
                    <th>购买数量</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="(value,index) in books" :key="value.id">
                    <td>{{index+1}}</td>
                    <td>{{value.name}}</td>
                    <td>{{value.date}}</td>
                    <td>{{value.price*value.count | showPeice}}</td>
                    <td><button :disabled="value.count<=1" @click="decrement(index)">-</button> {{value.count}} <button @click="increment(index)">+</button></td>
                    <td><button @click="del(index)">移除</button></td>
                </tr>
            </tbody>
        </table>
        <h1 v-else>购物车为空</h1>
        <h2>总价：{{allprice | showPeice}}</h2>






    </div>
    <script src="./vue.js"></script>
    <script>
        let app=new Vue({
            el:"#app",
            data:{
                books:[
                    {id:1,name:'《算法导论》',date:'2006-9',price:85.00,count:1},
                    {id:2,name:'《UNIX编程艺术》',date:'2006-2',price:59.00,count:1},
                    {id:3,name:'编程珠玑',date:'2008-10',price:39.00,count:1},
                    {id:4,name:'代码大全',date:'2006-3',price:128.00,count:1}
                ]

            },
            methods: {
                decrement(index){
                    this.books[index].count--
                    
                },
                increment(index){
                    // console.log(index);
                    this.books[index].count++
                    
                },
                del(index){
                    this.books.splice(index,1)
                }
            },
            computed: {
                allprice(){
                    return this.books.reduce((total, currentValue, currentIndex, arr)=>{
                        return total+currentValue.price*currentValue.count
                    },0)
                }
            },
            //过滤器
            filters:{
                showPeice(price){
                    return '￥' + price.toFixed(2)
                }
            }
        })
        
    </script>
</body>
</html>